Azha climb over the GFW
防火长城(英语:Great Firewall (of China),常用简称:GFW,中文也称中国国家防火墙,中国大陆民众俗称墙、防火墙、功夫网等等),是对中华人民共和国政府在其互联网边界审查系统(包括相关行政审查系统)的统称。此系统起步于1998年,其英文名称得自于2002年5月17日Charles R. Smith所写的一篇关于中国网络审查的文章《The Great Firewall of China》,取与Great Wall(长城)相谐的效果,简写为Great Firewall,缩写GFW。随着使用的拓广,中文“墙”和英文“GFW”有时也被用作动词,网友所说的“被墙”即指网站内容被防火长城所屏蔽,“翻墙”也被引申为突破网络审查浏览境内外被屏蔽的网站或使用服务(如被GFW屏蔽的网盘Dropbox)的行为。
写在前面
作为一名IT行业的学生,了解国外的先进技术十分有必要。2018年2月1日之后,各大主流VPN提供商纷纷倒下,迫于对知识的渴望,自己动手搭建了一个VPS,并成功连接上了VPN。
福利
拿本文采用的VPS提供商Digital Ocean来说,每月的租金并不便宜,下面提供了两种福利,请按顺序领取,高校学生共能获得**$60**的奖励。
邀请链接
Azha’s Bonus 点击该链接注册账号即可获得**$10**和两个月的免费存储空间,当你在Digital Ocean消费$25美元时,我也能获得$25的奖励。邮件原文:
They’ll get $10 in credit just for signing up (+2 months free for Spaces, our new object storage service. As soon as they’ve spent $25 with us, you get $25 in credit.
学生福利
当一个学生真是太爽了!各大企业都不吝对学生提供优惠来培养未来的客户,Github Education就提供了Student Developer Pack,开发包里就含有一张面值**$50**的credit coupon,当然还有各种各样的优惠券,与本文无关不再赘述。如果你是一名高校学生,在Github里绑定一个edu邮箱,通过该认证邮箱领取你的专属Student Developer Pack吧!
注意事项
请先点击邀请链接注册账号,再使用Paypal 充值**$5来激活你的账户(Paypal与银行卡的绑定类似于支付宝,其中农行借记卡不能绑定Paypal)。激活之后点击个人头像,点击Settings**,下拉找到Promo code,输入你的优惠码,这时候你会发现,使用不了!Digital Ocean网站限制了优惠次数,也就是说不管你通过什么样方式获得优惠,只能优惠一次,所以学生码不管用了。
这个时候大家可以在网站的Support里提交一个Ticket,也就是给客服发个邮件说明情况,客服一般会帮你手动添加的。鉴于每一封邮件往来时间可能需要一天,所以在发ticket的时候就把你的Github学生优惠码贴上。按下图所示步骤
-
进入网站点击Support
-
拉到网页下方点击Contact Support
-
点击如图所示的内容,描述你的问题
-
Ticket模板
Hello,
I am a student .I got a student coupon on Github, but when I typed this coupon on the website,it was remind that I couldn't use it. Could you help me? Here is my coupon code: "这里填上你的优惠码".
- 静候佳音 Happy coding!
购买VPS
-
进入网站点击Craete,选择Droplets
-
选择服务器镜像,这里推荐Ubuntu 14.04 x64
-
选择配置方案,如果只用来做VPN,最便宜的方案足矣
-
选择节点区域,这里推荐San Francisco 2,速度感人
-
附加选项,没需要的话都不必勾选,否则可能产生额外费用
-
Create,稍等待一会儿,你的VPS就初始化好了!
配置VPS
-
使用PuTTY 连接你的VPS。输入你的IP地址,保持prot值为22不变,点击open即可
-
登录你的VPS,用户名root,密码会发送到你的邮箱里,第一次登录需要你改密码。有一点Linux使用经历操作起来会顺手一些。依次输入下列指令
# 安装pip
$apt-get install python-pip
# 安装shadowsocks
$pip install shadowsocks
- 通过vim创建并修改shadowsocks.json配置文件
vi /etc/shadowsocks.json
在文件中输入如下指令(可以先了解一下vim的使用手册),更改相应部分为你的VPS信息
{
"server":"your_server_ip",
"server_port":443,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"your_password",
"timeout":333,
"method":"aes-256-cfb",
"fast_open":false
}
- 启动shadowsocks
# 后台启动shadowsocks
$ssserver -c /etc/shadowsocks.json -d start
- Enjoy!
终端体验
Windows PC
下载shadowsocks on Windows,绿色版解压即可使用
填入信息,系统托盘里右键小飞机,启用系统代理
iOS iPhone
2018年2月1日之后,app store就不见了各种shadowsocks工具的身影,苦苦寻找之后,终于找到了一个超级好用的shadowsocks工具SsrConnectPro。配置相关信息,Connect!
MacOS MacBook
下载shadowsocks on MacOS,按照说明操作即可。
Android Phone
下载并安装影梭apk,与上述配置方法相似,不再赘述。
Google是一个了不起的企业,现在你可以体验Google Search了!
基于TCP拥塞控制的加速
渐渐地有了速度上的需求,这时候需要对VPS进行加速,我建立了两个同样配置的节点,采取两种主流的不一样的加速方法——BBR加速和serverspeeder(锐速)加速,但其实并无网上传言那么神奇,毕竟配置还是主要制约因素。
BBR加速
BBR是Google开发的TCP拥塞控制算法,据说能有效提升VPN的用户体验。
个人开启并体验了BBR加速,但并没有明显的提速感觉,反而觉得速度下降了些,不知道是坊间传言太神乎了,还是我的操作存在差错,欢迎大神指教。操作如下:
# 安装 可能需要重启VPS
$wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
# 验证一下是否成功安装最新内核并开启 TCP BBR
$uname -r
# 查看内核版本
$sysctl net.ipv4.tcp_available_congestion_control
$sysctl net.ipv4.tcp_congestion_control
$sysctl net.core.default_qdisc
# 检查是否开启BBR
$lsmod | grep bbr
一个月的体验之后,对BBR还较为满意。
serverspeeder(锐速)加速
据说锐速会比BBR更加暴力地加速,并且很多前辈们都贴出了自己的经验,按照网上总结出的教程如下:
# 下载wget
$yum -y install wget
$wget -N --no-check-certificate
# 安装脚本
$https://raw.githubusercontent.com/wn789/serverspeeder/master/serverspeeder-all.sh
# 执行脚本
$bash serverspeeder-all.sh
该过程可能需要更换内核,详细请参考DigitalOcean Ubuntu 更换为锐速可用的内核
至于锐速的效果嘛,emmmmmm…目前我已经删除该节点:)
VPS开机自启动shadowsocks
每一次reboot
之后都得重新启动服务,这显然不符合程序员懒的特性,于是我们可以通过编辑几个文件,做到VPS开机自启动ss服务。
# 编辑/etc/rc.local
$vim /etc/rc.local
在文件中添加ssserver -c /etc/shadowsocks.json -d start
即可。
# 修改/etc/init.d/rc.local文件
$vi /etc/init.d/rc.local
将原本的PATH=/sbin:/usr/sbin:/bin:/usr/bin
修改为PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
即可。
系统重启将成功执行ssserver -c /etc/shadowsocks.json -d start
命令。Enjoy!
法律法规
VPN仅用于 科学研究 和 学术交流 用途,请务必遵守相关法规,转发敏感内容需要慎重。
任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得危害网络安全, 不得利用网络从事危害国家安全、荣誉和利益,煽动颠覆国家政权、推翻社会主义制度,煽动分裂 国家、破坏国家统一,宣扬恐怖主义、极端主义,宣扬民族仇恨、民族歧视,传播暴力、淫秽色情 信息,编造、传播虚假信息扰乱经济秩序和社会秩序,以及侵害他人名誉、隐私、知识产权和其他 合法权益等活动。
附:《中华人民共和国网络安全法》
再说两句
大家连接上自己的VPN之后再访问我的博客就能看到我的博客评论模块啦!欢迎大家友善交流(╹ڡ╹ )
参考资料
Digiatl Ocean学生优惠码失效解决方案
搭建自己的VPN服务器
科学上网漫游指南
shadowsocks
一键安装最新内核并开启 BBR 脚本
DigitalOcean Ubuntu 更换为锐速可用的内核
锐速ServerSpeeder无限带宽无限制版一键安装包